using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Thaire.Investment.Domains.Transaction
{

    public class EquityHeader
    {
        #region Properties
        // EQUITY_HEADER_ID
        public virtual int EquityHeaderID { set; get; }
        // EQUITY_COMPANY_NAME
        public virtual String EquityCompanyName { set; get; }
        // EQUITY_COMPANY_ID
        public virtual int? EquityCompanyID { set; get; }
        // MATURITY_STATUS
        public virtual String MaturityStatus { set; get; }
        // FULL_NAME_EN
        public virtual String FullNameEN { set; get; }
        // FULL_NAME_TH
        public virtual String FullNameTH { set; get; }
        // EQUITY_TYPE_NAME
        public virtual String EquityTypeName { set; get; }
        // EQUITY_TYPE_ID
        public virtual int? EquityTypeID { set; get; }
        // EQUITY_SECTOR_GROUP
        public virtual String EquitySectorGroup { set; get; }
        // EQUITY_SECTOR
        public virtual String EquitySector { set; get; }
        // SYMBOL
        public virtual String Symbol { set; get; }
        // LISTED_STATUS
        public virtual String ListedStatus { set; get; }
        // BROKER
        public virtual String Broker { set; get; }
        // BROKER_ID
        public virtual int? BrokerID { set; get; }
        // CAPITAL_REGISTERED
        public virtual decimal? CapitalRegistered { set; get; }
        // CAPITAL_PAID
        public virtual decimal? CapitalPaid { set; get; }
        // INVOLVED_PARTY_TYPE_NAME
        public virtual String InvolvedPartyTypeName { set; get; }
        // BID_PRICE_DATE
        public virtual DateTime? BidPriceDate { set; get; }
        // BID_PRICE_PER_UNIT
        public virtual decimal? BidPricePerUnit { set; get; }
        // BV_PRICE_DATE
        public virtual DateTime? BVPriceDate { set; get; }
        // BV_PRICE_PER_UNIT
        public virtual decimal? BVPricePerUnit { set; get; }
        // FV_PRICE_DATE
        public virtual DateTime? FVPriceDate { set; get; }
        // FV_PRICE_PER_UNIT
        public virtual decimal? FVPricePerUnit { set; get; }
        // CLOSE_PRICE_DATE
        public virtual DateTime? ClosePriceDate { set; get; }
        // CLOSE_PRICE_PER_UNIT
        public virtual decimal? ClosePricePerUnit { set; get; }
        // LIQUIDITY_TIER_I_PERCENT
        public virtual decimal? LiquidityTierIPercent { set; get; }
        // LIQUIDITY_TIER_II_PERCENT
        public virtual decimal? LiquidityTierIIPercent { set; get; }
        // LIQUIDITY_LOW_LIQUIDITY_PERCENT
        public virtual decimal? LiquidityLowLiquidityPercent { set; get; }
        // RELATED_ID
        public virtual int? RelatedID { set; get; }
        // REMARK_OIC
        public virtual String RemarkOic { set; get; }
        // REMAIN_UNIT
        public virtual int? RemainUnit { set; get; }
        // CREATE_DATE
        public virtual DateTime? CreateDate { set; get; }
        // CREATE_BY
        public virtual String CreateBY { set; get; }
        // MODIFY_DATE
        public virtual DateTime? ModifyDate { set; get; }
        // MODIFY_BY
        public virtual String ModifyBY { set; get; }
        // PAR_UNIT
        public virtual decimal? ParUnit { set; get; }
        // PAR_AMOUNT
        public virtual decimal? ParAmount { set; get; }

        #endregion



        public override bool Equals(object obj)
        {
            if (obj == null)
                return false;
            if (obj.GetType() != typeof(EquityHeader) && !(obj is EquityHeader))
                return false;
            return ToString().Equals(obj.ToString());
        }

        public override int GetHashCode()
        {
            return ToString().GetHashCode();
        }

        public override string ToString()
        {
            return string.Format("{0}", EquityHeaderID);
        }

    }


}